package common;

/**
 * Created by chenlong on 2017/9/20.
 * Info:
 */
public class SouTypeDeal {
    /**
     * 对位移过的组合成的值进行拆解成信息来源、信息类型
     * @param mode
     * @return 信息来源、信息类型2位的数组
     */
    public static int[] getSourceAndType(int mode){
        int[] arry=new int[2];
        int a_integer_source=mode/256;
        int a_remainder_type=mode%256;

        arry[0]=a_integer_source;
        arry[1]=a_remainder_type;
        return arry;
    }

    /**
     * 信息来源、信息类型位移合并成一个值（信息来源左位移8位）
     * @param source
     * @param type
     * @return 合并后的新值
     */
    public static int getSoutype(int source,int type){
        int a=(source<<8)+type;
        return a;
    }

    public static void main(String[] args) {
        int[] test=getSourceAndType(259);
        System.out.println("Length:"+test.length+",Source:"+test[0]+",Type："+test[1]);

        int test2=getSoutype(1,3);
        System.out.println("Add Result is:"+test2);
    }
}
